// src/http/axios.ts
import axios from 'axios';
import type { AxiosInstance, InternalAxiosRequestConfig, AxiosResponse } from 'axios';

const instance: AxiosInstance = axios.create({
  baseURL: '', // API基础URL
  timeout: 100000, // 请求超时时间
  headers: {
    "Content-Type": "application/json", // 设置全局的 Content-Type 头
  }
});

// 请求拦截器
instance.interceptors.request.use(
  (config: InternalAxiosRequestConfig) => {
    // 在这里可以添加全局的请求配置，例如添加token等
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器
instance.interceptors.response.use(
  (response: AxiosResponse) => {
    return response.data;
  },
  (error) => {
    // 统一处理错误
    console.error('Request error:', error);
    return Promise.reject(error);
  }
);

export default instance;
